﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

using System.Windows.Input;

namespace Prism.Games.GalEngine.Scripts.Parser.Input
{
    public static class GameCommands
    {
        private static readonly RoutedCommand NextCommand = new RoutedCommand("Next", typeof(GameCommands));

        public static RoutedCommand Next
        {
            get
            {
                return GameCommands.NextCommand;
            }
        }

        private static readonly RoutedCommand NewGameCommand = new RoutedCommand("NewGame", typeof(GameCommands));

        public static RoutedCommand NewGame
        {
            get
            {
                return GameCommands.NewGameCommand;
            }
        }

        private static readonly RoutedCommand LoadGameCommand = new RoutedCommand("LoadGame", typeof(GameCommands));

        public static RoutedCommand LoadGame
        {
            get
            {
                return GameCommands.LoadGameCommand;
            }
        }

        /// <summary>
        /// 注意，SaveGameCommand 是进入SaveGame界面的意思。
        /// </summary>
        private static readonly RoutedCommand SaveGameCommand = new RoutedCommand("SaveGame", typeof(GameCommands));

        public static RoutedCommand SaveGame
        {
            get
            {
                return GameCommands.SaveGameCommand;
            }
        }

        private static readonly RoutedCommand ConfigCommand = new RoutedCommand("Config", typeof(GameCommands));

        public static RoutedCommand Config
        {
            get
            {
                return GameCommands.ConfigCommand;
            }
        }

        private static readonly RoutedCommand ExitCommand = new RoutedCommand("ExitGame", typeof(GameCommands));

        public static RoutedCommand Exit
        {
            get
            {
                return GameCommands.ExitCommand;
            }
        }

        private static readonly RoutedCommand TitleCommand = new RoutedCommand("Title", typeof(GameCommands));

        public static RoutedCommand Title
        {
            get
            {
                return GameCommands.TitleCommand;
            }
        }

        private static readonly RoutedCommand BackCommand = new RoutedCommand("Back", typeof(GameCommands));

        public static RoutedCommand Back
        {
            get
            {
                return GameCommands.BackCommand;
            }
        }

        /// <summary>
        /// 注意，SaveCommand 是保存存档的意思。
        /// </summary>
        private static readonly RoutedCommand SaveCommand = new RoutedCommand("Save", typeof(GameCommands));

        public static RoutedCommand Save
        {
            get
            {
                return GameCommands.SaveCommand;
            }
        }

        private static readonly RoutedCommand LoadCommand = new RoutedCommand("Load", typeof(GameCommands));

        public static RoutedCommand Load
        {
            get
            {
                return GameCommands.LoadCommand;
            }
        }

        private static readonly RoutedCommand AutoCommand = new RoutedCommand("Auto", typeof(GameCommands));

        public static RoutedCommand Auto
        {
            get
            {
                return GameCommands.AutoCommand;
            }
        }

        private static readonly RoutedCommand OpenMessageBannerCommand = new RoutedCommand("OpenMessageBanner", typeof(GameCommands));

        public static RoutedCommand OpenMessageBanner
        {
            get
            {
                return GameCommands.OpenMessageBannerCommand;
            }
        }

        private static readonly RoutedCommand MessageBannerOKCommand = new RoutedCommand("MessageBannerOK", typeof(GameCommands));

        public static RoutedCommand MessageBannerOK
        {
            get
            {
                return GameCommands.MessageBannerOKCommand;
            }
        }

        private static readonly RoutedCommand MessageBannerCancelCommand = new RoutedCommand("MessageBannerCancel", typeof(GameCommands));

        public static RoutedCommand MessageBannerCancel
        {
            get
            {
                return GameCommands.MessageBannerCancelCommand;
            }
        }

        private static readonly RoutedCommand OpenLogCommand = new RoutedCommand("OpenLog", typeof(GameCommands));

        public static RoutedCommand OpenLog
        {
            get
            {
                return GameCommands.OpenLogCommand;
            }
        }

        private static readonly RoutedCommand SkipCommand = new RoutedCommand("Skip", typeof(GameCommands));

        public static RoutedCommand Skip
        {
            get
            {
                return GameCommands.SkipCommand;
            }
        }

        private static readonly RoutedCommand ChangeAudioVolumeValueCommand = new RoutedCommand("ChangeAudioVolumeValue", typeof(GameCommands));

        public static RoutedCommand ChangeAudioVolumeValue
        {
            get
            {
                return GameCommands.ChangeAudioVolumeValueCommand;
            }
        }

        private static readonly RoutedCommand FullScreenCommand = new RoutedCommand("FullScreen", typeof(GameCommands));

        public static RoutedCommand FullScreen
        {
            get
            {
                return GameCommands.FullScreenCommand;
            }
        }

        private static readonly RoutedCommand WindowCommand = new RoutedCommand("Window", typeof(GameCommands));

        public static RoutedCommand Window
        {
            get
            {
                return GameCommands.WindowCommand;
            }
        }

        private static readonly RoutedCommand SmallSizeCommand = new RoutedCommand("SmallSize", typeof(GameCommands));

        public static RoutedCommand SmallSize
        {
            get
            {
                return GameCommands.SmallSizeCommand;
            }
        }

        private static readonly RoutedCommand OriginalSizeCommand = new RoutedCommand("OriginalSize", typeof(GameCommands));

        public static RoutedCommand OriginalSize
        {
            get
            {
                return GameCommands.OriginalSizeCommand;
            }
        }

        private static readonly RoutedCommand SkipNotReadCommand = new RoutedCommand("SkipNotRead", typeof(GameCommands));

        public static RoutedCommand SkipNotRead
        {
            get
            {
                return GameCommands.SkipNotReadCommand;
            }
        }

        private static readonly RoutedCommand StopNotReadCommand = new RoutedCommand("StopNotRead", typeof(GameCommands));

        public static RoutedCommand StopNotRead
        {
            get
            {
                return GameCommands.StopNotReadCommand;
            }
        }

        private static readonly RoutedCommand ButtonMouseEnterCommand = new RoutedCommand("ButtonMouseEnter", typeof(GameCommands));

        public static RoutedCommand ButtonMouseEnter
        {
            get
            {
                return GameCommands.ButtonMouseEnterCommand;
            }
        }

        private static readonly RoutedCommand ExecuteOptionCommand = new RoutedCommand("ExecuteOption", typeof(GameCommands));

        public static RoutedCommand ExecuteOption
        {
            get
            {
                return GameCommands.ExecuteOptionCommand;
            }
        }

        private static readonly RoutedCommand HideMenuCommand = new RoutedCommand("HideMenuCommand", typeof(GameCommands));

        public static RoutedCommand HideMenu
        {
            get
            {
                return GameCommands.HideMenuCommand;
            }
        }
    }
}
